package rpc.common.enumeraion;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 字节流中标识序列化和反序列化器
 */
@AllArgsConstructor
@Getter
public enum SerializerCode {
    KRYO((byte) 0x00, "kryo"),
    JSON((byte) 0x01, "json"),
    HESSIAN((byte) 0x02, "hessian"),
    PROTOBUF((byte) 0x03, "protobuf"),
    GSON((byte) 0x04, "gson");
    private final byte code;
    private final String name;

    public static String getName(byte code) {
        for (SerializerCode s : SerializerCode.values()) {
            if (s.getCode() == code) {
                return s.name;
            }
        }
        return null;
    }
}
